package com.git.bds.mr.doctor.service;

import com.git.bds.mr.doctor.model.domain.Doctor;
import com.git.bds.mr.doctor.model.dto.RecordModifyDTO;
import com.git.bds.mr.doctor.model.dto.RecordReviseDTO;
import com.git.bds.mr.page.PageParam;
import com.git.bds.mr.page.PageResult;
import com.git.bds.mr.records.model.dto.RecordAddDTO;
import com.git.bds.mr.records.model.dto.RecordDTO;
import com.github.yulichang.base.MPJBaseService;

/**
 * <p>
 * 医生信息表 服务类
 * </p>
 *
 * @author 成大事
 * @since 2022-09-19 16:41:33
 */
public interface DoctorService extends MPJBaseService<Doctor> {

    /**
     * 按页获取记录
     *
     * @param pageParam 页面参数
     * @return {@link PageResult}<{@link RecordDTO}>
     */
    PageResult<RecordDTO> getRecordsByPage(PageParam pageParam);

    /**
     * 添加记录
     *
     * @param recordDTO 记录数据到
     * @return {@link Boolean}
     */
    Boolean addRecord(RecordAddDTO recordDTO);

    /**
     * 获取按页修订记录
     *
     * @param pageParam 页面参数
     * @return {@link PageResult}<{@link RecordReviseDTO}>
     */
    PageResult<RecordReviseDTO> getRecordsReviseByPage(PageParam pageParam);

    /**
     * 修订记录
     *
     * @param recordDTO 记录数据到
     * @return {@link Boolean}
     */
    Boolean reviseRecord(RecordModifyDTO recordDTO);

    /**
     * 正确记录
     * 医生对病人提交的有误病历 进行无误处理
     *
     * @param id    身份证件
     * @param reply 回复
     * @return {@link Boolean}
     */
    Boolean correctRecord(Long id, String reply);
}
